package stack_queue_1018;

import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;

public class QueueDemo {
    public static void main1(String[] args) {
        Queue<String> queue = new LinkedList<>();
        // 目前队列是空的（empty）

        // java.util.NoSuchElementException 没有这个元素异常
//        String e = queue.remove();  // 针对空队列进行出队列操作，是一个错误操作。remove 会以异常的形式提醒我们

//        String e = queue.poll();
//        System.out.println(e);  // null    null 作为一个特殊值，提醒我们发生错误了

//        String e = queue.element(); // 异常
//        String e = queue.peek();
//        System.out.println(e);
    }

    public static void main(String[] args) {
        Queue<String> queue = new LinkedList<>();

        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()) {
            String e = scanner.next();

            queue.offer(e);
        }

        // 把队列中的所有全部都出掉
//        while (true) {
//            String e = queue.poll();
//            if (e == null) {
//                // 代表出队列错误 —— 队列空了
//                break;
//            }
//
//            System.out.println(e);
//        }

        while (!queue.isEmpty()) {  // 只要队列不为空（empty），循环就继续
            String e = queue.poll();
            System.out.println(e);
        }
    }
}
